#ifndef VIDEOCOMPRESSOR_H
#define VIDEOCOMPRESSOR_H

#include <QObject>   // Qt基础对象类
#include <QString>   // Qt字符串类

// 视频压缩器类，继承自QObject
class VideoCompressor : public QObject
{
    Q_OBJECT  // Qt元对象宏，用于支持信号槽机制

public:
    // 构造函数，parent参数用于指定父对象
    explicit VideoCompressor(QObject *parent = nullptr);
    
    // 压缩视频的公共方法
    void compress(const QString &inputPath,    // 输入文件路径
                 const QString &outputPath,    // 输出文件路径
                 int quality);                 // 压缩质量

signals:
    // 进度更新信号
    void progressUpdated(int progress);
    // 压缩完成信号
    void compressionFinished();
    // 错误信号
    void error(const QString &message);

private:
    // 初始化FFmpeg的私有方法
    void initFFmpeg();
};

#endif 